EULISP Threads: A Concurrency Toolbox

نویسندگان

  • Neil Berrington
  • Peter A. Broadbery
  • David De Roure
  • Julian Padget
چکیده

Many current high level languages have been designed with support for con-currency in mind, providing constructs for the programmer to build explicit parallelism into a program. The EuLisp threads mechanism, in conjunction with locks, and a generic event waiting operation provides a set of primitive tools with which such concurrency abstractions can be constructed. The object system (TELOS) provides a powerful approach to building and controlling these abstractions. We provide a synopsis of this`concurrency toolbox', and demonstrate the construction of a number of established abstractions using the facilities of EuLisp: pcall, futures, stack groups, channels, CSP and Linda.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Plurals: A SIMD Extension to EuLisp

There are now several versions of Lisp for massively parallel SIMD architec-tures like the Thinking Machines Connection Machine. We describe here the extensions made to EuLisp for data-parallel programming and their implementation on a speciic platform, a MasPar MP-1. Plural EuLisp, in keeping with the rest of the language, presents a collection of simple orthogonal operators which capture the ...

متن کامل

Interface-based Speciication and Veriication of Concurrency Controllers

We present a modular approach to speciication and veriication of concurrency controllers by decou-pling their behavior and interface speciications. The behavior speciication of a concurrency controller deenes how its shared variables change their values whereas the interface speciication deenes the order in which a client thread should call its methods. We show that the concurrency controllers ...

متن کامل

EuLisp in Education

We present our experience with EULISP as a teaching language, focussing on the level of the language which was speciically designed for this purpose (level-0). EULISP has been used in undergraduate and postgraduate teaching since 1990, in lectures and laboratories, where in many cases it has replaced Scheme or Common Lisp. It has been used extensively in programming courses, parallelism courses...

متن کامل

Why Events Are a Bad Idea (for High-Concurrency Servers)

Event-based programming has been highly touted in recent years as the best way to write highly concurrent applications. Having worked on several of these systems, we now believe this approach to be a mistake. Specifically, we believe that threads can achieve all of the strengths of events, including support for high concurrency, low overhead, and a simple concurrency model. Moreover, we argue t...

متن کامل

Concurrency in Java and in Erlang

Concurrency (and Java’s threads in particular) is a very important tool for writing programs that must communicate with many other programs or with several people. The most important example of a concurrent system is perhaps multi-tasking operating systems which allow several programs to be run at the same time. In a web server, concurrency means that a single web server can server many request...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Lisp and Symbolic Computation

دوره 6  شماره 

صفحات  -

تاریخ انتشار 1993